# 写函数，计算传入函数的字符串中,[数字]、[字母] 以及 [其他]的个数，并返回结果
def test1(strText):
    numCount = 0
    wordCount = 0

    for s in strText:
        if s.isdigit():
            numCount += 1
        elif 65 <= ord(s) <= 90 or 97 <= ord(s) <= 122:
            wordCount += 1

    print(f"数字的个数： {numCount}")
    print(f"字母的个数：{wordCount}")
    print(f"其他的个数： {len(strText) - numCount - wordCount}")

# ascii码
test1('123abcr!中@@ii木舟6')

# 写函数，判断用户传入的对象（字符串、列表、元组）长度是否大于5。
def test2(data):
    return len(data) > 5


# 写函数，函数接收四个参数分别是：姓名，性别，年龄，学历，支持用户持续输入，Q或者q退出
# 性别默认为男，如果遇到女学生，则把性别输入女，最后打印出学生的个人信息

def test3(name, age, ec, sex="男"):
    print(f"学生的信息：{name}, {age}, {ec}, {sex}")


while True:
    infoDict = {
        "姓名": "",
        "年龄": "",
        "学历": "",
        "性别": "",
    }
    infoKeyList = list(infoDict.keys())

    flag = False
    for key in infoKeyList:
        res = input(f"请输入{key}: ")
        if res.upper() == 'Q':
            flag = True
            break
        infoDict[key] = res
    else:
        if infoDict['性别'] and infoDict['性别'] in ("男", "女"):
            test3(
                infoDict['姓名'],
                infoDict['年龄'],
                infoDict['学历'],
                infoDict['性别'],
            )
        else:
            test3(
                infoDict['姓名'],
                infoDict['年龄'],
                infoDict['学历'],
            )

    if flag:
        break

    # name = input("请输入名称: ")
    # if name.lower() == 'q':
    #     break
    # age = input("请输入年龄")
    # ec = input("请输入学历")
    # sex = input("请输入性别")
    # if sex and sex in ("男", "女"):
    #     test3(name, age, ec, sex)
    # else:
    #     test3(name, age, ec)


# 写函数，接收n个数字，求这些参数数字的和

def test4(*args):
    sum = 0
    for num in args:
        sum += num
    print(sum)

# 写函数，函数可以支持接收任意内容（关键字传参）并返回字典。

def test5(**kwargs):
    return kwargs